package tp1.tests;

import tp1.arbolBmas.nodo.Clave;
import tp1.arbolBmas.nodo.Constantes;
import tp1.arbolBmas.nodo.Hoja;
import tp1.arbolBmas.nodo.dato.DatoHoja;
import junit.framework.Assert;
import junit.framework.TestCase;

public class HojaTest extends TestCase {

	public HojaTest(String name) {
		super(name);
	}

	protected void setUp() throws Exception {
		super.setUp();
	}

	protected void tearDown() throws Exception {
		super.tearDown();
	}

	public void testHoja() {
		Hoja hoja = new Hoja();
		assertTrue(hoja.getTerminos().length == Constantes.CANT_TERMINOS_POR_HOJA );
		assertTrue(hoja.getCantidadTerminos() == 0);
	}
	
	public void testAgregar() 
	{
		Hoja hoja = new Hoja();
		
		if( Constantes.CANT_TERMINOS_POR_HOJA == 1)
		{
			assertFalse( hoja.agregar(new DatoHoja("NoHaceHaceUnSplit")) );
			assertTrue( hoja.agregar(new DatoHoja("SiHaceUnSplit")) );
		}
		else if (Constantes.CANT_TERMINOS_POR_HOJA > 1)
		{
			//Lleno la hoja con terminos
			for(int i=0; i < Constantes.CANT_TERMINOS_POR_HOJA ; i++)
			{
				assertFalse( hoja.agregar(new DatoHoja("nuevoTerm_"+i)) );
			}
			
			//Desbordo la cantidad de terminos de la hoja
			assertTrue( hoja.agregar(new DatoHoja("esteHaceUnSplit")) );
		}
	}

/*
	public void testHojaClaveDatoHojaString() {
		fail("Not yet implemented");
	}

	public void testGetTerminos() {
		fail("Not yet implemented");
	}

	public void testSetTerminos() {
		fail("Not yet implemented");
	}

	public void testNodoSinHijos() {
		fail("Not yet implemented");
	}

	public void testNodoSinHijosClaveDatoHojaString() {
		fail("Not yet implemented");
	}

	public void testNodo() {
		fail("Not yet implemented");
	}

	public void testNodoClaveDatoHojaString() {
		fail("Not yet implemented");
	}

	public void testGetClave() {
		fail("Not yet implemented");
	}

	public void testSetClave() {
		fail("Not yet implemented");
	}

	public void testGetDatoHoja() {
		fail("Not yet implemented");
	}

	public void testSetDatoHoja() {
		fail("Not yet implemented");
	}

	public void testGetDescripcion() {
		fail("Not yet implemented");
	}

	public void testSetDescripcion() {
		fail("Not yet implemented");
	}
*/
}
